def METHOD_NAME(self, enum_attrs):
    name = self.take_ident()
    self.take_symbol_from('{')
    variants = []
    while self.peek_symbol() != '}':
        attrs = self.parse_attrs()
        variants.append(self.parse_struct(attrs))
        if self.peek_symbol() == ',':
            self.take()
        else:
            break
    self.take_symbol_from('}')
    return Enum(name, variants, enum_attrs)