rename headers in enumeration
moved aux::underlying type to a SFINAE impl