What is best practice for large amounts of options in an HTML form?

I inherited an old web app, which includes an HTML form. This form has a large list of checkboxes for a yes/no on selecting counties to receive updates about. Screenshot

Obviously this is not best practice, because you can't even see the whole list (72 options, plus a select all).

Are checkboxes laid out in a grid the most user friendly way to present this information? I have also considered a map with the counties labeled, and the ability to toggle counties on/off.

Any input on this is appreciated.