По этому поводу ведутся споры, но даже в самых последних документах Android предполагает, что использовать перечисления в приложении для Android - не самая лучшая идея. Причина в том, что они используют больше памяти, чем статическая постоянная переменная. Вот документ со страницы 2014 года, в котором не рекомендуется использовать перечисления в приложении для Android. http://developer.android.com/training/articles/memory.html#Overhead
Я цитирую:
Помните о накладных расходах памяти
Будьте осведомлены о стоимости и накладных расходах на язык и библиотеки, которые вы используете, и помните об этом при разработке приложения от начала до конца. Часто вещи на поверхности, которые выглядят безобидными, на самом деле могут иметь большой объем накладных расходов. Примеры включают:
Перечислениям часто требуется вдвое больше памяти, чем статическим константам. Вы должны строго избегать использования перечислений на Android.
Каждый класс в Java (включая анонимные внутренние классы) использует около 500 байт кода.
Каждый экземпляр класса имеет 12-16 байтов служебной памяти.
Ввод одной записи в HashMap требует выделения дополнительного объекта записи, который занимает 32 байта (см. Предыдущий раздел об оптимизированных контейнерах данных).
Несколько байтов тут и там быстро складываются - проекты приложений, которые сильно зависят от классов или объектов, будут страдать от этих накладных расходов. Это может поставить вас в затруднительное положение, если вы посмотрите на анализ кучи и поймете, что ваша проблема заключается в большом количестве мелких объектов, использующих вашу оперативную память.
Были некоторые места, где они говорят, что эти советы устарели и больше не имеют ценности, но причина, по которой они продолжают их повторять, должна быть в том, что в этом есть доля правды. Написание приложения для Android - это то, что вам следует сделать как можно более легким для удобства пользователей. И каждый маленький дюйм производительности на счету!