code: func NewBaseType(init ...interface{}) BaseType {
  	if len(init) == 1 {
  		switch v := init[0].(type) {
  		case BaseType:
  			return v
  		case int:
  			return BaseType(v)
  		case int32:
  			return BaseType(v)
  		case string:
  			for i, s := range namesBaseType {
  				if s == v {
  					return BaseType(i)
  				}
  			}
  		default:
  			panic("Bad init value for BaseType enum")
  		}
  	}
  	return BaseType(0) //default to the first enum value
  }
docs: //
  // NewBaseType - return a string representation of the enum
  //