1 полу group сделать varchar, и хранить список idшников групп через запятую, к примеру, но тогда отсортировать юзеров по группам не представляется возможным. Да и деть придется два запроса к базе что бы получить юзера и его группы.
Как потом будете отбирать группы? С помощью LIKE?
А удалять группы у пользователей? Получать, парсить, удалять и записывать?
2 создавать третью таблицу, для коннекта юзеров с группами? Это лишняя таблица и путаница, сложность запросов. Хотя склоняюсь к этому варианту,
Дополнительная таблица в вашем случае лучший вариант.