title: Sort enums in declaration order
body: <pre><code>public enum CurrencyId
  {
      USD = 840,
      UAH = 980,
      RUR = 643,
      EUR = 978,
      KZT = 398,
      UNSUPPORTED = 0
  }
  </code></pre>
  
  <p>Is there any way to sort results of <code>Enum.GetValues(typeof(CurrencyId)).Cast&lt;CurrencyId&gt;()</code> by order they are declared in .cs file (USD, UAH, RUR, EUR, KZT, UNSUPPORTED), not by their underlying code? Personally, I believe the answer is 'no', because original order is lost in binaries, so... how can I implement the task?</p>