A language $L$ is recursively enumerable but not recursive if:
- There is a Turing machine that halts on an input $x$ if and only if $x \in L$.
- There is no Turing machine that on $x \in L$ halts and prints Yes, and on $x \notin L$ halts and prints No. We say that such a machine decides $L$.
In order to show that this is equivalent to "can be enumerated but not in numerical order", it suffices to prove that a language is recursive iff it can be enumerated in numerical order (since we already know, presumably, that a language is recursively enumerable iff it can be enumerated).
If a language is recursive then it can be enumerated in numerical order: just go over all inputs in order, and for each one, determine if it belongs to the language, and if so, add it to the enumeration.
The crux of the proof of Exercise 9.2.3(c) is the opposite direction: if a language can be enumerated in numerical order then it is recursive. This means that if there is a Turing machine that enumerates $L$ in numerical order, then there is a (possibly different) Turing machines that decides $L$.
Enumerators and deciders are different types of beasts:
- An enumerator has no input, and generates a (possibly infinite) output.
- A decider gets an input, and outputs either Yes or No.
In particular, an enumerator will usually not be a decider. Therefore your proof strategy, as stated, cannot work. Instead, you need to show how to construct a decider using an enumerator.