I think the most useful thing I ever learned was how to construct chords and where the different notes were that could be added to a knownchord grip. that way you can expand your knowledge quickly and efficiently, rather than feeling you are reinventing the wheel every time.
For example, there is only one note different between Em9 and E9:
Find out what this note is and what it means to the chord. Experiment with moving the others around by semitones.
All good stuff.