I like. I implemented it this way because drawable states can only be boolean values; but that doesn't mean we can't manage them on our side as enums.