fn impl_enum( value_type: ValueType, name: Ident, _generics: Generics, attrs: Vec<Attribute>, data: &DataEnum, zv: &TokenStream, ) -> Result<TokenStream, Error>