I've been using control-z and fg to stop / resume programs from the UNIX terminal for as long as I've been using that environment. The problem is that I've only used those two commands so my usual workflow has always been "stack based". Meaning I have always used fg to resume the most recent program that I stopped.
Long story short, there is another command called jobs which enumerates all the programs which have been stopped. At this point you can use fg # to resume whichever job you want.
What a concept.
I found this web page had a nice description of all these commands: