title: How to Change some dictionary field position after I sort them by value alphabetically
body: <p>I have one Enum AllTypes</p>
  
  <pre><code>public enum AllTypes
      {
          [Description("Best")]
           best = 0,
          [Description("Adv")]
           adv = 1,
          [Description("Cas")]
           cas = 21,
          [Description("Cas2")]
          cas2 = 3,
          [Description("Cat")]
          cat = 4,
          [Description("E-test")]
          e-test = 5,
          [Description("Edit")]
          edit = 6,
          [Description("Ev")]
          ev = 7,
          [Description("Git")]
          git = 8,
          [Description("Ga")]
          ga = 9,
          [Description("Zb")]
          zb = 10
          [Description("Test")]
          test = 20
      }
  </code></pre>
  
  <p>For Extract this Enum in alphabetical order I call this method:</p>
  
  <pre><code>public static IDictionary&lt;int, string&gt; GetAllTypes&lt;TEnum&gt;() where TEnum : struct
      {
          var enumerationType = typeof(TEnum);
  
          if (!enumerationType.IsEnum)
              throw new ArgumentException("Enumeration type is expected.");
  
          var dictionary = new Dictionary&lt;int, string&gt;();
  
          foreach (int value in Enum.GetValues(enumerationType))
          {
              var name = GetDescription((MyEnums.AllTypes)value);
              dictionary.Add(value, name);
          }
  
          var sorted = from dictionar in dictionary
                       orderby dictionar.Value ascending
                       select dictionar;
          var dict = new Dictionary&lt;int, string&gt;();
  
          foreach (var item in sorted)
          {
              dict.Add(item.Key, item.Value);
          }
          return dict;
      }
  </code></pre>
  
  <p>Now I want to change position of Best Type to Put it in the first position to dictionary, I i remove it by key and then add in dictionary it is placed in third position, some proposal?</p>