enhanced_enum
macro_rules! enhanced_enum { ($name:ident $(,)? {$($variants:ident$(,)?)*}) => { ... }; }
TODO