The Arizona Diamondbacks drafted Walters in the ninth round of the 2010 MLB Draft. He was assigned to Low-A Yakima, where in 69 games, he hit.302/.338/.440 with 4 HR, 43 RBI and 44 R. He was a Northwest League Post-Season All-Star, along with first baseman Yazy Arbelo and left-handed reliever Eury De La Rosa as Bears on the squad. Walters began 2011 with Single-A South Bend, where he was used at shortstop, third and second base, and off the bench with the Silver Hawks. Elected to the Midwest League All-Star Game, he was hitting.316/.406/.527 with 7 HR, 42 RBI and 50 R in 66 first-half games.
Washington Nationals
On July 30, 2011, Walters was traded to the Washington Nationals for Jason Marquis and was assigned to High-A Potomac. Used as the Potomac Nationals shortstop to end the season, Walters, in 127 total games, hit.300/.367/.457 with 9 HR, 67 RBI, 84 R and 19 SB. Walters began 2012 at Potomac, where in 54 games,.269/.304/.399 with 5 HR and 24 RBI before being promoted to Double-A Harrisburg on June 18. In 43 games as the Senators shortstop, he hit.293/.326/.518 with 6 HR and 19 RBI before being promoted to Triple-A Syracuse on August 3. He finished the year there, and in 126 total games, he hit.266/.302/.418 with 12 HR, 49 RBI and 56 R. Walters spent most of 2013 with the Chiefs, where in 134 games, he hit.253/.286/.517 with 29 HR and 77 RBI. He led the league in home runs, extra base hits, and total bases. In a game against the Pawtucket Red Sox, Walters was heckled for a lack of hustle. On September 3, 2013, Walters was called up by the Washington Nationals. He made his first appearance on September 6, against the Marlins as a pinch hitter, and recorded his first major league hit, an infield single off of José Fernández that broke up Fernández's no-hitter in the 6th inning. His first major league start came in the last game of the season, when he went 1-4 with an RBI triple and a run at shortstop. On April 15, 2014, Walters hit the first home run of his career.
Cleveland Indians
On July 31, 2014, Walters was traded to the Cleveland Indians in exchange for Asdrúbal Cabrera and cash considerations. He was sent from Washington's minor league team in Syracuse to the Indians' AAA team, the Columbus Clippers. He hit two home runs there in the first four days after joining the club, one a grand slam, on August 3, 2014. Walters injured his oblique muscle on March 13, 2015. After Walters had the injury, he started a rehab assignment with the Clippers on April 20, 2015. The versatile switch-hitter was called up on June 9, 2015, with Giovanny Urshela while Jose Ramirez and Lonnie Chisenhall were demoted to the Clippers.
Los Angeles Dodgers
After designating Walters for assignment on April 3, 2016, the Indians traded him and James Ramsey to the Los Angeles Dodgers on April 10 in exchange for cash considerations. He was assigned to the AAA Oklahoma City Dodgers and then recalled to the majors on July 16. In three games with the Dodgers he was hitless in five at bats. He also played in 94 games for Oklahoma City, hitting.276 with 10 homers and 53 RBI. He was designated for assignment on August 14 and released the following day.