The proof of Hierarchy Theorems (including space hierarchy theorem, deterministic time hierarchy theorem, nondeterministic time hierarchy theorem) depend on constructing a Universal Turing machine which differs all Turing machines enumerated. But how to encode a Universal Turing machine to an Integer such that this Universal Turing machine is enumerable?
There are many ways to encode Turing machines. Essentially, this is possible because a TM $M$ is specified by a finite amount of information just like a computer program is completely specified by its source code which in the end is just some binary string in your computer's memory (and note that we can interpret any binary string as a natural number if we put a $1$ in front to account for leading zeroes). For more information on this I recommend the corresponding section of the first chapter of "Computational Complexity: A Modern Approach" by Arora and Barak as well as the wikipedia article on description numbers which also gives an explicit coding if you are looking for one.
Also note that universal TMs are still "normal" TMs which just happen to satisfy some properties and hence can also be encoded the same way as all other TMs.