Mmm yes...yes indeed...
Interestingly, ArcEarth already does this perfectly. They just need to implement it for all apps and APIs including ArcApps Partial Checkboxes across platform in TOC - Web AppBuilder, ArcMap, API
TOC Needs....
1. partial checkboxes
2. ability at least as programmer option to let sublayers turn on regardless of parent visibility
3. ability to group layers in webmap even if dynamic sublayers of service (that would mean a lot less "groups" would be necessary and really clean up the TOC tree)
4. move legend swatch symbol to inline to left of name of layer so you don't need to expand to see it, if it is only one single symbol. Like AGS JS TOC. (seeing a symbol like hydrant is faster than reading the word hydrant)
5. more of a nice - to have one day but it would be neat to let users re-order layers on the fly, or perhaps even remove layers, from the list. If the App State remembered that, and perhaps even what layers were added from Add Data, that'd be neat too. But that's a distant nice-to have vs the above 1 to 4.
https://community.esri.com/message/613921?commentID=613921#comment-613921
LayerList - allow users to re-order layers
https://community.esri.com/message/755032-re-customize-layer-list-widget?commentID=755032#comment-75...
Group layers in the layerlist widget
layer list - needs fixed
https://community.esri.com/ideas/11896?commentID=39628#comment-39628 --- this one looks interesting, may have to check out and play with.