The keywords system is plone is ok, but it’s not great. There is a few alternative such as Portal Taxonomy, and it is quite well discussed elsewhere. However, most systems I’ve seen replace the keywords system entirely, meaning that only modified/new products can use the improved system. All I wanted was something a little better than the list box, and a 2 level hierarchy would also be nice. Using the existing keyword infrastructure was pretty much a must, so it will tie in to any future core changes to Plone.
So, I devised a widget to replace the keywords widget, which provided a simple hierarchy, and check boxes to select the keywords. It is constructed off the keywords list, with a / used as the separator. ie Group1/KeyWord1. Sooner or later I’ll put it on Plone.org, but until then it is available from SVN at https://www.hpc.jcu.edu.au/projects/plone/svn/GroupedKeywords/trunk/