05AB1E, 11 bytes
žMÃDεNÉiu]‡
Or alternatively the εNÉiu]
could be 2ι`u.ι
.
Explanation:
žM # Push the constant "aeiou"
à # Only keep those letters from the (implicit) input
D # Duplicate it
ε # Map the vowels in the copy to:
NÉi # If the 0-based index is odd:
u # Uppercase the vowel
] # Close the if-statement and map
‡ # Transliterate the lowercase vowels to the alternating cased vowels in the
# in the (implicit) input
# (after which the result is output implicitly)
2ι # Uninterleave into two parts
` # Pop and push both parts separated to the stack
u # Uppercase the second part
.ι # And interleave the two parts back again (to a list of characters)