func (x *Make) UnmarshalText(text []byte) error {
	name := string(text)
	tmp, err := ParseMake(name)
	if err != nil {
		return err
	}
	*x = tmp
	return nil
}
UnmarshalText implements the text unmarshaller method
package example
import (
	"fmt"
	"strings"
)
const (
	MakeToyota Make = iota
	_
	MakeChevy
	_
	MakeFord
	_
	MakeTesla
	_
	MakeHyundai
	_
	MakeNissan
	_
	MakeJaguar
	_
	MakeAudi
	_
	MakeBMW
	_
	MakeMercedesBenz
	_
	MakeVolkswagon
)
const _MakeName = "ToyotaChevyFordTeslaHyundaiNissanJaguarAudiBMWMercedes-BenzVolkswagon"
var _MakeNames = []string{
	_MakeName[0:6],
	_MakeName[6:11],
	_MakeName[11:15],
	_MakeName[15:20],
	_MakeName[20:27],
	_MakeName[27:33],
	_MakeName[33:39],
	_MakeName[39:43],
	_MakeName[43:46],
	_MakeName[46:59],
	_MakeName[59:69],
}
func MakeNames() []string {
	tmp := make([]string, len(_MakeNames))
	copy(tmp, _MakeNames)
	return tmp
}
var _MakeMap = map[Make]string{
	0:  _MakeName[0:6],
	2:  _MakeName[6:11],
	4:  _MakeName[11:15],
	6:  _MakeName[15:20],
	8:  _MakeName[20:27],
	10: _MakeName[27:33],
	12: _MakeName[33:39],
	14: _MakeName[39:43],
	16: _MakeName[43:46],
	18: _MakeName[46:59],
	20: _MakeName[59:69],
}
func (x Make) String() string {
	if str, ok := _MakeMap[x]; ok {
		return str
	}
	return fmt.Sprintf("Make(%d)", x)
}
var _MakeValue = map[string]Make{
	_MakeName[0:6]:                    0,
	strings.ToLower(_MakeName[0:6]):   0,
	_MakeName[6:11]:                   2,
	strings.ToLower(_MakeName[6:11]):  2,
	_MakeName[11:15]:                  4,
	strings.ToLower(_MakeName[11:15]): 4,
	_MakeName[15:20]:                  6,
	strings.ToLower(_MakeName[15:20]): 6,
	_MakeName[20:27]:                  8,
	strings.ToLower(_MakeName[20:27]): 8,
	_MakeName[27:33]:                  10,
	strings.ToLower(_MakeName[27:33]): 10,
	_MakeName[33:39]:                  12,
	strings.ToLower(_MakeName[33:39]): 12,
	_MakeName[39:43]:                  14,
	strings.ToLower(_MakeName[39:43]): 14,
	_MakeName[43:46]:                  16,
	strings.ToLower(_MakeName[43:46]): 16,
	_MakeName[46:59]:                  18,
	strings.ToLower(_MakeName[46:59]): 18,
	_MakeName[59:69]:                  20,
	strings.ToLower(_MakeName[59:69]): 20,
}
func ParseMake(name string) (Make, error) {
	if x, ok := _MakeValue[name]; ok {
		return x, nil
	}
	if x, ok := _MakeValue[strings.ToLower(name)]; ok {
		return x, nil
	}
	return Make(0), fmt.Errorf("%s is not a valid Make, try [%s]", name, strings.Join(_MakeNames, ", "))
}
func (x Make) MarshalText() ([]byte, error) {
	return []byte(x.String()), nil
}