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