Consider a GapP function $g(x)$ for $x \in \{0, 1\}^{*}$. Consider an approximation $\tilde g(x)$ such that
\begin{equation} \left|g(x) - \tilde g(x)\right| \leq \epsilon. \end{equation}
Consider a few cases.
Case 1: $\epsilon = 2^{n-1}$.
Case 2: $\epsilon = 2^{n-1} - \text{poly}(n)$.
Case 3: $\epsilon = 2^{n}/\text{poly}(n)$.
Case 4: $\epsilon = 2^{cn - o(n)}$, $c < 1$.
From this answer, we know that if $g(x)$ is a #P function, then the first three cases are easy (have a BPP algorithm), and the fourth case is #P-hard.
Are all these cases #P-hard when $g(x)$ is a GapP function? If so, is there any value of $\epsilon$ for which approximating a GapP function is "easy" (doable in BPP/the polynomial hierarchy)?