I'm in favour of this, but I would suggest a slight tweak, more in line with 'optimisation level' compiler options.
But I just don't think a whole rich set of individual options is terribly useful to the average player. A slider would be far better IMO.
If the user has a quality slider, we can tweak how we interpret and set the 'advanced' options like texture scaling (they'd need to be downscaled on load) and eventually mesh complexity and shader complexity etc. Even setting the shadow mode and number of lights and all the other settings we currently expose could better be hidden behind the slider.
I guess there can always be an 'advanced' button to expose these settings in the UI, but hide them by default.