Identify parameter

function MyArgumentCompleter{
    param ( $commandName,
            $fakeBoundParameters )

$fruit = @('Apple', 'Orange', 'Banana')
$Vegetables = @('Onion', 'Carrot', 'Lettuce')

    $possibleValues = $fruit +$Vegetables

        $possibleValues | Where-Object {
            $_ -like "$wordToComplete*"

Class food : System.Management.Automation.IValidateSetValuesGenerator {
    [string[]] GetValidValues() {
$fruit = @('Apple', 'Orange', 'Banana')
$Vegetables = @('Onion', 'Carrot', 'Lettuce')
$food =$fruit +$Vegetables
        return [string[]] $food
function Test-ArgumentCompleter {
 param (
        [ArgumentCompleter({ MyArgumentCompleter @args })]


so as you can see ,the $food has two type ,but since i didn’t use $type to define it and combine the fruit and vegetable ,it can’t tell if i am input $fruit or $vegtable,so is there any way to let powershell define the $food is fruit or vegetable with variable ?