Commuting difference operators with polynomial eigenfunctions