It seems like the operator ">=" acts like ">" and therefore gives wrong results. But only when one of the comparisons is a variable. I think the example below explains it better than words.
Define Example enum:
public enum TestEnum
{
ONE,
TWO
}
Then call:
var max = TestEnum.TWO;
max >= TestEnum.TWO;
The result will be FALSE, and not TRUE like it should be.
Conversely, this results in TRUE correctly:
(int)max >= (int)TestEnum.TWO;
And this works too:
TestEnum.TWO >= TestEnum.TWO;