Table design question for a `Check all that apply` survey
Option 3 is classic 3NF design.  If you need to add data to the table quickly, it will likely be the highest performing approach for inserts, so if you need to insert the data quickly and have high concurrency concerns that may be the way to go.  

To me, it sounds like you're trying to solve an analytical problem.  If that is the case, I'd go with option 2.  This is a de-normalized approach.    Your users are likely already thinking about their data in that way, so they'll appreciate the simplicity in it.  With the way that you're receiving your data, it could be the most difficult to achieve, but the effort to get it in simply will be worth it.  Your users will appreciate the elegance which is hopefully your goal.

Good Luck!