Need a good way to store Name value pairs
<p>I often run into a situation where I want to have a set of key/value pairs.  Here's a pseudo code idea:</p>

<pre><code>DataSet MyRequestStatus
{
  Accepted = "ACC",
  Rejected = "REJ"
}
</code></pre>

<p>Usage:</p>

<pre><code>InsertIntoTable(MyRequestStatus.Accepted.ToString())
</code></pre>

<p>I want to be able to use the friendly "MyRequestStatus.Accepted", but I want the ToString() to return the cryptic "ACC", NOT "Accepted".  Bonus points, implicit conversion rather than having to call ToString().</p>

<p>I haven't found an obvious way to achieve this with Enums.  What do you suggest?</p>
