This question describes a nice situation to introduce a partial version of the generalized Rice's theorem.
A partial version of the generalized Rice's Theorem
For $S$ be a subset of Turing-recognizable languages, let $L_S$ be the set of TMs that recognize a language in $S$, that is,
$$L_S = \{ \langle M \rangle \mid L(M) \in S \}.$$
Suppose $L_1 \in S$, $L_1 \subset L_2$ and $L_2 \not\in S$. Then $L_S$ is not Turing-recognizable.
$CF_{\text{TM}}$ is not Turing-recognizable.
$CF_{\text{TM}}=L_{\text{CFL}}$, where $\text{CFL}$ is the set of all context-free languages. Let $L_1=\emptyset$ and $L_2=\{a^{n^2}\mid n\in \Bbb N\}$. Then $L_1\subset L_2$, $L_1\in \text{CFL}$, $L_2\not\in \text{CFL}$. So, $L_{\text{CFL}}$ is not Turing-recognizable.
$\overline{CF_{TM}}$ is not Turing-recognizable
$\overline{CF_{\text{TM}}}=\{ s : s\text{ is a string that does not encode a TM}\}\sqcup L_{\overline{\text{CFL}}}$, where $\overline{\text{CFL}}$ is the set of all non-context-free formal languages. Let $L_1=\{a^{n^2}\mid n\in \Bbb N\}$ and $L_2=\{a^n\mid n\in \Bbb N\}$. Then $L_1\subset L_2$, $L_1\in \overline{\text{CFL}}$, $L_2\not\in \overline{\text{CFL}}$. So, $L_{\overline{\text{CFL}}}$ is not Turing-recognizable.
Proof of the partial version of the generalized Rice's Theorem
Suppose $L_S$ is recognized by a TM $M_S$. We will construct a TM that recognizes $\overline{HALT_{\text{TM}}}=\{\langle M,w\rangle\mid M\text{ does not halt on }w\}$, which is known as not Turing-recognizable, hence a contradiction. The TM works as follows.
On input $\langle M, w\rangle$:
Construct a TM $T_{M,w}$ that works as follows:
On input $x$:
- Run $M_1$ on $x$, and accept if $M_1$ accepts. Here $M_1$ is a TM that recognizes $L_1$.
- At the same time, also run $M$ on $w$. If $M$ accepts, run $M_2$ on $x$, and accept if $M_2$ accepts. Here $M_2$ is a TM that recognizes $L_2$.
Run $M_S$ on $T_{M,w}$, and accept if $M_S$ accepts.
Note this TM accepts $\langle M,w\rangle$ if and only if $M_S$ accepts $\langle T_{M,w}\rangle$, which means $L(T_{M,w})\in S$. Also note
$$L(T_{M,w})=\begin{cases}
L_1 & \text{if $M$ does not halt on $w$},\\
L_2 & \text{otherwise},
\end{cases}$$
so the TM accepts $\langle M,w\rangle$ if and only if $M$ does not halt on $w$, which indeed recognizes $\overline{HALT_{\mathrm{TM}}}$.
The above proof is a modified version of xskxzr's nice proof of his lemma in his answer.
Exercises
Exercise 1. Show that a context-free language (that is defined by a context-free grammar) is Turing-recognizable. Show that a non-context-free formal language (that is defined by an unrestricted grammar and that cannot be defined by a context-free grammar) is Turing-recognizable.
Exercise 2. (One minutes or two) Check that both the question and this answer remain valid if we replace "context-free" by "regular".
Exercise 3. Show that $\overline{\text{CFL}}$, the set of all non-context-free formal languages given by their grammars properly encoded by some fixed scheme, is not Turing-recognizable. Hence, $L_{\overline{\text{CFL}}}$ cannot be Turing-recognizable either.
EXercise 3. Read the full version of generalized Rice's Theorem. Can you prove it? (This might not be easy.)