It's not that eNodeB choose minimal MCS for the user. It assigns the MCS on basis of UE channel information which is gathered by CQI - that reflects Signal to Noise ratio measurement, which fulfills required BER for that. With this information eNodeB decides how many bits/modulation symbol can be used for the transmission with required number of physical resource blocks.
So minimal modulation coding scheme not have to be minimal, it depends upon the algorithm you used. As I defined eNodeB may assign the optimal MCS that corresponds to the received CQI, above on basis of CQI and if it’s too optimistic (i.e. receives always NACKs) then it adjust parameters and assigns also lower than optimal MCS.