This appears to be a regression of #2491 (& #12425?)
TypeScript Version: 2.4.1
Code
Expected that this snippet does not produce errors, but it does:
enum Things { ONE, TWO }
// Error: Type 'Things' is not assignable to type 'string'.
type ThingMap = {[TKey in Things]: boolean};
[Playground]