That looks much nicer indeed, but I still vastly prefer the other solutions, simply because I can just declare regular enums.