Buy Walmart stock for 21% upside as the company is positioned to weather a consumer slowdown later this year, JPMorgan says