Я думаю, что способ сделать это - создать дополнительные таблицы, такие как CategorySize, который имеет составной первичный ключ для категории и размера, а затем использовать его в качестве внешнего ключа в таблице инвентаризации.
Таким образомвы разрешаете только те комбинации, которые действительны в вашем инвентаре.
На самом деле больше не перечисляет, но, по крайней мере, означает, что в вашей базе данных останутся только непротиворечивые, действительные данные.
Чтобы добавить внешний ключ с помощьюсвою схему, сделайте это:
ALTER TABLE inventory
ADD CONSTRAINT fk_category_size
FOREIGN KEY (category_enum,size_enum)
REFERENCES category_size (category_enum,size_enum);