Support multiple kinds fields
Renamed HasKind to HasEnum