Isn\'t it possible to set the type of a parameter to an Enum? Like this:
private getRandomElementOfEnum(e : enum):string{ var length:number = Object.
May be this trick will fit:
enum AbstractEnum { // put somewhere in hidden scope } private getRandomElementOfEnum(e: typeof AbstractEnum) { ... }