  Phylogenetic trees are used to model evolution: leaves are labelled to
represent contemporary species ("taxa") and interior vertices represent extinct
ancestors. Informally, convex characters are measurements on the contemporary
species in which the subset of species (both contemporary and extinct) that
share a given state, form a connected subtree. In \cite{KelkS17} it was shown
how to efficiently count, list and sample certain restricted subfamilies of
convex characters, and algorithmic applications were given. We continue this
work in a number of directions. First, we show how combining the enumeration of
convex characters with existing parameterised algorithms can be used to speed
up exponential-time algorithms for the \emph{maximum agreement forest problem}
in phylogenetics. Second, we re-visit the quantity $g_2(T)$, defined as the
number of convex characters on $T$ in which each state appears on at least 2
taxa. We use this to give an algorithm with running time $O( \phi^{n} \cdot
\text{poly}(n) )$, where $\phi \approx 1.6181$ is the golden ratio and $n$ is
the number of taxa in the input trees, for computation of \emph{maximum
parsimony distance on two state characters}. By further restricting the
characters counted by $g_2(T)$ we open an interesting bridge to the literature
on enumeration of matchings. By crossing this bridge we improve the running
time of the aforementioned parsimony distance algorithm to $O( 1.5895^{n} \cdot
\text{poly}(n) )$, and obtain a number of new results in themselves relevant to
enumeration of matchings on at-most binary trees.
