In reply to adharshh:
You can collect coverage on anything you want. SystemVerilog covergroups have no idea what the data it's covering represents.
You can construct covergroups in your configuration class. You just need to make sure to sample them after the knobs have been set, which could be the end_of_elaboration_phase. If the knobs change during the test, you need to sample them after each change.