
Have you taught your dog the individual names of his various toys? Hand your dog a toy and when he takes it or touches it with his nose or paw say the name of the toy and then reward him (treat or play whatever he values most). Once he has learnt the name of one toy introduce a second in the same way. Once both toys are known by name put them both on the floor in front of him and ask him to show you the ball or whatever. When he touches the right toy reward him - if he touches the wrong toy repeat the command and reward when he gets it right. I clicker trained our GR to do this and now he can select the correct toy from a choice of 6 or more. He lies down with the toys in front of him and will put his paw on the correct toy.
Once he is accurate every time you can then put the toys in different places, but in clear sight, and get him to find it by saying the name of the toy and then find the ball etc. Gradually you can hide the toy out of sight and get him to go and search for it. We hide a tuggy rope in various places all over the house and it keeps him entertained for ages. He never forgets a previous hiding place and will search all the previous places it has been hidden :)
There are also kongs and activity balls that will keep him entertained for a while or wrap a treat up pass the parcel style for him to find. A treat in an old plastic bottle with the lid off will also amuse him as he works out how to get the treat out.
Hopefully other people will have more ideas for you. Wishing him a speedy recovery :)