I read that enums were not allowed as keys in mappings, but when I just tried it it is working on remix.ethereum.org. Was it allowed in more recent Solidity versions?
The use-case I am using enum as key for is to encode tokens a bit differently, for a contract with multiple tokens. So it really makes that easier to read with enum Token as the key.
enum Token { TokenName1, TokenName2, TokenName3, TokenName4 }
mapping (Token => mapping (address => uint)) balanceOf;
mapping (Token => mapping (address => mapping (address => uint))) public allowed;