title: An index signature parameter type cannot be a union type. Consider using a mapped object type instead
body: <p>I'm trying to use the following pattern:</p>
  
  <pre><code>enum Option {
    ONE = 'one',
    TWO = 'two',
    THREE = 'three'
  }
  
  interface OptionRequirement {
    someBool: boolean;
    someString: string;
  }
  
  interface OptionRequirements {
    [key: Option]: OptionRequirement;
  }
  </code></pre>
  
  <p>This seems very straightforward to me, however I get the following error:</p>
  
  <blockquote>
    <p>An index signature parameter type cannot be a union type. Consider using a mapped object type instead.</p>
  </blockquote>
  
  <p>What am I doing wrong?</p>