This is a longstanding issue with numeric enums. For whatever reason (some backwards compatibility they can't break), a number is seen as assignable to a numeric enum, so you can do this with no error:
enum E {
V = 100
}
const num = 100;
const e: E = num; // no error