The usual guidelines are that the expected counts should be greater than 5, but it can be somewhat relaxed as discussed in the following article:
Campbell , I, Chi-squared and Fisher–Irwin tests of two-by-two tables with small sample recommendations, Statistics in Medicine (2007) 26(19): 3661–3675.
See also Ian Campbell's homepage.
Note that in R, there's always the possibility to compute $p$-value by a Monte Carlo approach (chisq.test(..., sim=TRUE)
), instead of relying on the asymptotic distribution.
In you case, it appears that about 80% of the expected counts are below 5, and 40% are below 1. Would it make sense to aggregate some of the observed phenotypes?