def __init__(self, *args, **kwargs):
    self.values = kwargs.pop('values')
kwargs['choices'] = [(v, v) for v in self.values]
kwargs['default'] = self.values[0]
super(EnumField, self).__init__(*args, **kwargs)

def db_type(self):
    return 'enum({0})'.format(','.join("'%s'" % v for v in self.values))
Specifying a mySQL ENUM in a Django model