title: Enum for index signature parameter type in Typescript
body: <p>My goal is to have an object with attributes part of a typescript string enum.</p>
  
  <pre><code>type PARAM = "long-parameter" | "long-parameter2";
  
  const PARAM = {
      param1: "long-parameter" as PARAM,
      param2: "long-parameter2" as PARAM,
  }
  
  var f = function(params:{[id:PARAM]:number}){}
  
  f({ //must be valid
      [PARAM.param1]:1,
  });
  
  f({ //should display error
      "asdas":1
  });
  </code></pre>
  
  <p>The problem is that <code>var f = function(params:{[id:PARAM]:number}){}</code> returns the error <code>An index signature parameter type must be string or number.</code> </p>
  
  <p>Is there any way around that?</p>