[proofplan]
We use the finite-certificate definition of an enumeration operator. Since $A$ and $W$ are c.e., we run enumerations of both in parallel and, at each finite stage, test every operator instruction already seen against the finite part of $A$ already seen. Soundness follows because every output is produced only from a genuine instruction whose finite certificate has been observed inside $A$. Completeness follows because every true certificate is finite, so a sufficiently late stage has seen both the instruction and every element of the certificate.
[/proofplan]
[step:Choose effective enumerations of the input set and the operator instructions]
Because $A$ is c.e., fix an enumeration procedure $M_A$ whose set of outputs is exactly $A$. Because $W$ is c.e., fix an enumeration procedure $M_W$ whose set of outputs is exactly $W \subseteq \mathbb{N} \times \mathcal{P}_{\mathrm{fin}}(\mathbb{N})$.
For each stage $s \in \mathbb{N}$, define $A_s \subseteq \mathbb{N}$ to be the finite set of all numbers output by $M_A$ during the first $s$ stages of computation. Define $W_s \subseteq \mathbb{N} \times \mathcal{P}_{\mathrm{fin}}(\mathbb{N})$ to be the finite set of all pairs output by $M_W$ during the first $s$ stages of computation. Then $A_s$ and $W_s$ are finite, effectively obtainable from $s$, and satisfy
\begin{align*}
A &= \bigcup_{s=1}^{\infty} A_s, \\
W &= \bigcup_{s=1}^{\infty} W_s.
\end{align*}
[/step]
[step:Construct an enumeration procedure for $\Phi_W(A)$]
Define an enumeration procedure $M$ as follows. At stage $s \in \mathbb{N}$, compute the finite sets $A_s$ and $W_s$. For every pair $(n,F) \in W_s$, where $n \in \mathbb{N}$ and $F \in \mathcal{P}_{\mathrm{fin}}(\mathbb{N})$, test whether $F \subseteq A_s$. If $F \subseteq A_s$, output $n$.
This is an effective procedure: $W_s$ is finite, each $F$ occurring in $W_s$ is finite, and membership in the finite set $A_s$ is decidable by direct finite search.
[guided]
We now build the enumerator explicitly. The problem is that membership in $A$ may not be decidable, so we cannot take an instruction $(n,F) \in W$ and directly decide whether $F \subseteq A$. The key point is that $F$ is finite. If $F \subseteq A$, then every element of $F$ eventually appears in the enumeration of $A$.
Define the enumeration procedure $M$ stage by stage. At stage $s \in \mathbb{N}$, first compute the finite set $A_s$ of all numbers already output by the enumeration procedure $M_A$ during the first $s$ stages. Also compute the finite set $W_s$ of all operator instructions already output by the enumeration procedure $M_W$ during the first $s$ stages. For each instruction $(n,F) \in W_s$, with $n \in \mathbb{N}$ and $F \in \mathcal{P}_{\mathrm{fin}}(\mathbb{N})$, check whether every element of the finite set $F$ belongs to the finite set $A_s$. If this finite check succeeds, output $n$.
This is computable because every search performed at stage $s$ is finite. The set $W_s$ contains only finitely many instructions, and each certificate $F$ appearing in an instruction is itself finite. Thus the test $F \subseteq A_s$ reduces to finitely many membership checks in the finite set $A_s$, each of which can be done by scanning the finite list of elements already seen.
[/guided]
[/step]
[step:Verify that every number printed by the procedure belongs to $\Phi_W(A)$]
Suppose $M$ outputs $n \in \mathbb{N}$ at stage $s \in \mathbb{N}$. By construction of $M$, there is a finite set $F \in \mathcal{P}_{\mathrm{fin}}(\mathbb{N})$ such that $(n,F) \in W_s$ and $F \subseteq A_s$. Since $W_s \subseteq W$ and $A_s \subseteq A$, we have $(n,F) \in W$ and $F \subseteq A$. Therefore, by the definition of $\Phi_W(A)$,
\begin{align*}
n \in \Phi_W(A).
\end{align*}
Thus every output of $M$ is an element of $\Phi_W(A)$.
[/step]
[step:Verify that every element of $\Phi_W(A)$ is eventually printed]
Let $n \in \Phi_W(A)$. By definition of $\Phi_W(A)$, there exists a finite set $F \in \mathcal{P}_{\mathrm{fin}}(\mathbb{N})$ such that $(n,F) \in W$ and $F \subseteq A$.
Since $(n,F) \in W = \bigcup_{s=1}^{\infty} W_s$, there exists $s_0 \in \mathbb{N}$ such that $(n,F) \in W_{s_0}$. Since $F$ is finite and $F \subseteq A = \bigcup_{s=1}^{\infty} A_s$, for each $m \in F$ there exists $s_m \in \mathbb{N}$ such that $m \in A_{s_m}$. Define
\begin{align*}
s_1 =
\begin{cases}
s_0, & F = \varnothing, \\
\max\bigl(\{s_0\} \cup \{s_m : m \in F\}\bigr), & F \neq \varnothing.
\end{cases}
\end{align*}
Then $(n,F) \in W_{s_1}$ and $F \subseteq A_{s_1}$. Therefore, at stage $s_1$, the procedure $M$ considers the instruction $(n,F)$ and outputs $n$.
[/step]
[step:Conclude that $\Phi_W(A)$ is computably enumerable]
The procedure $M$ is an effective enumeration procedure. The soundness step proves that every number output by $M$ lies in $\Phi_W(A)$, and the completeness step proves that every number in $\Phi_W(A)$ is eventually output by $M$. Hence the set of outputs of $M$ is exactly $\Phi_W(A)$. Therefore $\Phi_W(A)$ is c.e.
[/step]