What is the meaning of something like:

```js
function f<T extends E>(obj: T) {}

```

where `E` is some `enum` like, say

```js
enum E {
    X
}

```

Since `enum`s can't actually be extended, can't this constraint be dropped and the function rewritten to:

```js
function f(obj: E) {}

```

PS: [this](https://github.com/microsoft/vscode/blob/f74e473238aca7b79c08be761d99a0232838ca4c/src/vs/editor/common/config/editorOptions.ts#L779) is the code in question.