Just use font aliases. Works already.
There is no need to reinvent the wheel (and it has already been discussed on Freshmeat some times ago).
For the X Window System there is already a good way to organize fonts in groups: font aliases.
In other words, you can create aliases for font names, simply by editing the fonts.alias file in your font directory. If you want to organize them in families, just choose appropriate names. man mkfontdir for details.
Example: a fonts.aliases containing the following row
-Funky-Helvetica\ Narrow-medium-r-condensed--*-*-*-*-p-0-iso8859-1 -Adobe-Helvetica\ Narrow-medium-r-condensed--*-*-*-*-p-0-iso8859-1
creates an alias for the Adobe Helvetica (of any size). Btw, on my system, Adobe Helvetica in turn is itself an alias for another font (but that is not important).
Then, do a ``xset fp rehash'', so X re-reads font configuration files. After this, you can select the "Funky" foundry, and there are your fonts. Simple, isn't it? :-)
Btw, this works also when the fonts are served by a remote host, which is not the case using directory names...
Dependencies! (mandatory and optionals)
It continuosly amazes me that there are so many projects putting up the instructions on how to decompress a tarball source, but without any information on dependencies (or buried deep within documentation, or scattered among several places).
What I'd like: a tag specifying build dependencies (i.e. on libraries) meant to be read by human beings. Example:
Building foo app requires:
libFoo > 1.2.x
libQuuux from CVS
This at least could simplify a little the life of package mantainers and integrators, and also the life of people building straight from sources.
Also, why limit to one category? mpg123 could qualify under "audio" (it plays mp3) as well as "console" (it's a console app) and "streaming" (because it can play audio streams from the net). This would eliminate the need of a deep tree, as actually Freshmeat has. Think of them as metatags for software search engines: unlike pr0n spammers, I am confident that developers can make intelligent choices on categories.
Finally, if you are searching good examples of what information you should include, have a look at the GNU Free Software Directory (http://www.gnu.org/gnulist/production/index.html).