Generally speaking, if you want a sheet to be locked except for specific interaction/input, I'd go with a userform. Userforms are powerful tools that can be designed to meet specific requirements, and made user-friendly. You can control what a user can/can't do on a userform to prevent mistakes or invalid entries.
Unfortunately, there is no sheet event to detect the expansion/collapse of a group, so you can't capture that event in code. You can programatically expand/collapse groups with code similar to below. This code toggles whether a group is shown or hidden. Rows(2) represents the first (top) row in the group:
Bookmarks