I think you use enum on another level here that freaks me out... Enumeration should be used to enumerate values, it is not a class, an entity or anything else to have business rules and I won't mention the fact that it is not easily testable with that "hidden" SharedPref dependency