Hi Olivia,
We did something similar to what Heather mentioned where we only sold groups of 2 or 4 and used hold codes to create these available groups of seats on a SYOS map. I would also recommend naming your Price Types and Zones to say "Group 4 (must purchase 4 seats)" to reinforce the message. Then build a zone map where you can only select the Price Type "Group 2" in those seats you've marked as Zone 2 - Group 2.
Setting TNEW to not allow orphan seats will avoid the single seats as Heather Mentioned. We then set up a Pricing Rule to fire when a patron tried to purchase 1 - 3 tickets at the Group 4 Price Type. The Price Type would switch to our "Test" Price type which was valued at some outrageous amount and display a message indicating that they must select 4 seats in that area. This worked really well and didn't require us to watch the seat maps. Happy to chat more if you have any other questions! Best of luck to you all!