Eeny, meeny, miny, moe
Pyth, 103 89 84 chars

Saved 18 bytes with string compression, thanks to @Dennis and @FryAmTheEggman
Saved another byte thanks to @isaacg

Warning: there are many unprintables in the code; use the links below to try it.

VQjd%Q&gt;cs[J."@y)òÎ5O¹c×Ú"."@yæ\J}ÇZH66¥ÓÀD¸¶=ðÉ §J%ÔþÖúÅ="J"MOE!")\@N


Try it online | Test suite

Could probably be golfed. Suggestions welcome!

How it works

VQjd%Q&gt;cs[J."..."."..."J"MOE!")\@N    Implicit: Q = eval(input)
VQ                                    For each item N in range 0...int(Q):
         [                    )        Create an array out of the following:
          J."..."                       Set J to this string, decompressed. ("Eeny@meeny@miny@")
                 ."..."                 This string, decompressed. ("moe@Catch@...let@him@go@")
                       J                J.
                        "MOE!"          "MOE!".
        s                              Join the array with the empty string.
       c                       \@      Split the result on "@".
      &gt;                          N     Cut off the first N items.
    %Q                                 Take every Qth item.
  jd                                   Join with spaces.