Tesco has cheered its highest market share since 2016 after ringing up a rise in sales as it said customers switched to the supermarket over the crucial Christmas season.