Я предлагаю использовать
TINYINT UNSIGNED NOT NULL
или, для лучшей совместимости с ANSI / SQL, используйте:
SMALLINT NOT NULL
С целочисленным типом намного проще выполнять вычисления. ENUM
неплохо, но есть вероятность запутаться, потому что это своего рода двойной тип string / int (под обложками это int, но снаружи это строка). И действительно, предположим, что вы чувствуете необходимость перейти к 3 звездам или 10 звездам или около того, миграция будет гораздо менее болезненной.