If one want's to avoid that problem, just don't allow the nested enum also have a value. It's not a huge deal but just a sort of alias this concept applied to enums: enum A { default, a, b, c; alias a this; }