列挙体は、整数型に準じた並べ替えが行われ、各メンバに与えられている値の大きさに従って小さい順に並べ替えられます。

列挙体の値のソート順序
using System;

enum Number {
  MinusTwo = -2,
  MinusOne = -1,
  Zero = 0,
  One = 1,
  Two = 2,
}

class Sample {
  static void Main()
  {
    Number[] arr = new Number[] {
      Number.Zero, Number.One, Number.MinusOne, Number.Two, Number.MinusTwo,
    };

    Array.Sort(arr);

    foreach (Number val in arr) {
      Console.WriteLine("{0,-8:G} ({0:D})", val);
    }
  }
}
実行結果
MinusTwo (-2)
MinusOne (-1)
Zero     (0)
One      (1)
Two      (2)