Enumerated types are always Ordinal (you can do Ord(Type)) which means they are effectivly integer values. The first value in the list is 0 (zero) and it will normally be the default value. Add an additional value at the start of the enumerated type of gtNone and check for gtNone instead of Null.