Hello. In the design of the application often come across static elements, for example, bottom navigation buttons that are responsible for changing the fragment, lists of categories, checkboxes, sorting types, social network buttons, etc. Everywhere I use enum. For example, I create an enum for the buttons of the lower navigation and I βhard-coreβ classes of fragments, for the buttons of the social. networks - enums with their links, titles, links to pictures in R.drawable. For sorting (say from the database) - I also make specific instances for ORM of the SortedBy type right in the fields. In general, for all static data I use Enum. Literally the whole project is already teeming with them.
I believe that enums are useful in case of real similarities. But now, more and more extensions appear, for example, when switching to a specific fragment, it is required to throw information about it into the analytics, and for one specific fragment. In general, now all this beauty turns into ugliness. For those fragments to which the analyst is not using, I attribute null in the fields and then do checks on them.
Tell me, is it good to use enums? Now it's better to rewrite everything (for what?) Or continue to write crutches?
When do you really need to use them? And is it necessary at all?