refactored category to be enum, becouse it is enumerable, and for the moment is enough to have simple enum, and extendable enough cuz java enums has many features compared to other languges