title: Is there a way to override a c# enum?
body: <p>My C# system processes payment information from several customers that submit a text file to us using various formats. They all have common information such as PaymentDate, Amount, CheckNumber, etc.</p>
  
  <p>I would love to set up a generic enum that is overridden based on the customer. For example:</p>
  
  <pre><code>private enum Payment { PaymentDate, Amount, CheckNumber }
  private enum CustomerA { CheckNumber, Amount, PaymentDate }
  private enum CustomerB { Amount, PaymentDate, CheckNumber }
  </code></pre>
  
  <p>It would be nice if I could then assign the layout depending on the Customer. </p>
  
  <pre><code>Payment = CustomerA; 
  Payment = CustomerB;
  </code></pre>
  
  <p>Then I could reference the fields such as:</p>
  
  <pre><code>var checkNumber = line[(int) Payment.CheckNumber];
  var PaymentDate = line[(int) Payment.PaymentDate];
  </code></pre>
  
  <p>etc.</p>
  
  <p>Each line would know it's own format.</p>
  
  <p>Is there a way to do this in C#?</p>