Hi Amit,
I have a thought process, see if it can work for you.
Let's say you have 10 views (AV1 .. AV10) and each of the views have 5 - 10 columns (C1.. C10, C11..C17 ... .. ).
You can put them all in a union with Constant column concept. The filter on constant column will help pruning and you would be able to select any ONE view based on the constant column filter.
Depending upon the columns selected in the query, the column pruning will also happen. This way the performance will be still optimized.
But to implement this concept, you need some logic in the front end to provide the correct filter applicable to the given view, when some columns are selected from a view. This can increase the complexity, but worth a try.
Regards,
Ravi