You didn't give me much details so I am not sure if our Highcharts legends with checkboxes will be enough for you.
You can always create your own custom legend and use series.hide() and series.show() method.
1) let the user switch between show all/hide using built standard Higcharts functionality
2) use setvisible() to control series visabilty
3) be written in pure javascript without jQuery
4) show an checkbox to the left of the label name to show but its necessary
Ok, I thought that you wanted HTML "checkbox" but you just meant "legend item".
Here is an example of what you've been trying to achieve without jQuery and with the ability to show/hide series: https://jsfiddle.net/BlackLabel/hcyz3pxj/