Sadly I don't think the world is simple enough for that to be useful. What if a program has enough threads that you want SMT turned off with an 8 core CPU but you want it on if you only have 2 or 4 cores? What if you are playing a game that turns off SMT in your 8 core, but you want to live stream your game which really requires another 4 threads from the remaining 2 cores where unfortunately you turned SMT off? So now you want "for the cores used by this game don't use SMT, but you can use it on other cores used by other programs". Starting to get complex now, how does the OS decide which cores to use for which programs? How many "SMT off" programs do you have running before you realise there are so many threads that you would actually be better off ignoring the hint and turning SMT on?
Scheduling is hard, I suspect the answer here is some evolutional or deep learning system to tweak things until optimal. Too many variables for a human.