Building on the comment by @whuber, a straightforward test that would deliver reasonable results would be a Chi square test that compares your observed counts in each bin of "number of shared mutations" with the expected counts in that bin. This is particularly the obvious way to do it if you know how the data were simulated and hence you can directly use the expected counts in the bin; but even if you don't it is a reasonable pragmatic approach.
In the current case the expected number with zero shared mutations is zero, which will make a Chi square statistic infinite (because its calculation involves dividing by the expected number in each bin), and give a p-value of zero, which is to be expected. Basically this reflects that it is literally impossible for the observed data to have been generated from a distribution that gives zero probability to zero mutations.
> horses <- data.frame(
+ expected = c(0,270,410,230,80,10),
+ observed = c(800,230,40,10,5,1),
+ mutations =c(0,1,2,3,4,"lots")
> horses$expected.scaled <- horses$expected *
+ sum(horses$observed) / sum(horses$expected)
expected observed mutations expected.scaled
1 0 800 0 0.00
2 270 230 1 293.22
3 410 40 2 445.26
4 230 10 3 249.78
5 80 5 4 86.88
6 10 1 lots 10.86
> X <- with(horses,