Make the Radio and Checkboxes field types subclasses of the List type so that getOptions() does not need to be repeated three times.
JFormFieldList supports options based on the result of one or more SQL queries.
New option type 'table' as suggested by elinw
Use array_merge() instead of +=