Sanju Samson scored an unbeaten 97 as India beat West Indies by five wickets to set up a semi-final meeting with England at the T20 World Cup.