Show field options as a grid rather than list

I have a few fields where I need people to select one or more US states & state equivalents. This means they have to scroll through a list of over 50 options. It would be cleaner to cut down on scrolling by presenting the options as a grid instead.
Extra credit: let the list have headers to organize under.