Enum в 2 раза тяжелее чем Int (согласно документации).
Есть специальная аннотация, для определения ограниченного набора Int'ов.
Это полезный навык, уходить от Enum в Int. Но только когда приложение уже созданно, отрефакторенно и стоит вопрос оптимизации
Менять enum на int вредно с точки зрения надёжности кода.
Например, если параметр имеет тип enum, то будет очень непросто передать туда что-то вне диапазона.
Если для той же цели используется тип int, то передать можно абсолютно любое значение со всеми вытекающими последствиями.
Не, можно, конечно, контролировать диапазон помощью аннотаций. Но, во-первых, кто об этом знает, во-вторых, зачем извращаться, если enum это делает из коробки, а в-третьих, зачем извращаться, если Гугл три года тому назад сказал, что enum можно спокойно использовать?