You can have such a problem only in VB.NET, which allows implicit data type conversions by default. Your If statement would not compile at all if you used the 'Option Strict On' setting.
Even if we redefined iGBool.False as 0 and iGBool.True as 1, we still would have the same problem with the iGBool.NotSet value equals 2. When 'Option Strict' is 'Off', iGBool.NotSet is always interpreted as True.
Note that iGBool.NotSet is the default value for iGCell.Enabled, and in the general case the effective Enabled status of the cell is determined by its parents like the column cell style, the grid settings, etc. So I think in your case you really need to check the iGBool value explicitly like you do it in this statement:
In fact, all developers using other .NET languages like C# use this explicit form of comparison. You are free to do it only in VB due to the feature I started this post with.
*****
A side note. iGrid.NET was developed in the early times of .NET, when only the version 1.x of this framework was available. Perhaps, a much better choice for the data type of the iGCell.Enabled property would be the Nullable Boolean type, but nullable types appeared only in .NET 2.0. We did not change the iGBool type to Nullable(Of Boolean) because of backward compatibility and because we have this NotSet value in other enumerations of iGrid. It's a part of the iGrid ideolology, when you can inherit a value from a parent with this special NotSet value.